//package com.he.hsdyc.service.impl;
//
//import com.he.hsdyc.service.ParentLoginService;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//import org.springframework.transaction.annotation.Transactional;
//
//import java.util.Map;
//
///**
// * Created with IntelliJ IDEA.
// * User: jc
// * Date: 2017/10/11
// * Time: 下午3:30
// */
//@Service
//public class ParentLoginServiceImpl implements ParentLoginService {
//
//    @Autowired
//    private ParentMapper parentMapper;
//    @Autowired
//    private BindMapper bindMapper;
//
//    @Autowired
//    private SchoolMapper schoolMapper;
//
//    @Autowired
//    private StudentMapper studentMapper;
//
//
//    @Override
//    public String doParentLogin(String openId, Map<String, Long> param) {
//
//        try {
//            Long stuId=param.get("stuId");
//
//            //取得客户端类型
//            Long clientType=param.get("clientType");
//
//
//            if(stuId!=null){   //家长访问
//                //1. 查询是否家长已登记过
//                Parent parent=parentMapper.findParentByOpenId(openId);
//                if(parent==null){  //新增家长
//                    Parent newparent=new Parent();
//                    newparent.setOpenId(openId);
//                    newparent.setGender(false);
//                    if(clientType!=null){
//                        newparent.setClientType(clientType);
//                    }else{
//                        newparent.setClientType(0l);
//                    }
//                    parentMapper.saveParent(newparent);
//                    parent=newparent;
//                }
//
//                //1.1 登记过的家长清空parent表中schoolId
//                Parent newParant=new Parent();
//                newParant.setSchoolId(null);
//                newParant.setId(parent.getId());
////                if(clientType!=null){
////                    newParant.setClientType(clientType);
////                }
//                parentMapper.editParentSchoolId(newParant);
//
//
//
//                //2. 查询家长是否已绑定过该学生
//                Bind checkBind=bindMapper.checkBind(parent.getId(),stuId);
//                //取消主绑定
//                bindMapper.changeMainBindMainId(parent.getId(),1,false);
//                if(checkBind==null){ //未绑定过该学生
//                    //设置当前学生主绑定
//                    Bind bind=new Bind();
//                    bind.setMainId(parent.getId());
//                    bind.setBindId(stuId);
//                    bind.setMainBind(true);
//                    bindMapper.addBind(bind);
//                }else{   //已绑定过该学生
//                    bindMapper.changeMinBind(checkBind.getId(),true);
//                }
//
//                //判断扫描的学员所在学校，是否开通小程序
//                Map<String, Object> stuInfo=studentMapper.queryStudentInfo(stuId);
//                Long schoolPid= (Long) stuInfo.get("schoolPid"); //取得学员所在总校id
//                School school = schoolMapper.selectByPrimaryKey(schoolPid);
//                if (school.getHaveWechatNew() == 3){            //返回开通小程序
//                    return QrConstant.ClientType.PARENT_MINI;
//                }
//
//
//                    return QrConstant.ClientType.PARENT;
//
//            }else{        //游客访问
//                Long schoolId=param.get("schoolId");
//                //1. 查询是否家长已登记过
//                Parent parent=parentMapper.findParentByOpenId(openId);
//                if(parent==null){  //新增家长
//                    Parent newparent=new Parent();
//                    newparent.setOpenId(openId);
//                    newparent.setGender(false);
//                    newparent.setSchoolId(schoolId);
//                    if(clientType!=null){
//                        newparent.setClientType(clientType);
//                    }else{
//                        newparent.setClientType(0l);
//                    }
//                    parentMapper.saveParent(newparent);
//                }else{    //已存在家长
//                    Parent newParant=new Parent();
//                    newParant.setSchoolId(schoolId);
//                    newParant.setId(parent.getId());
//                    parentMapper.editParentSchoolId(newParant);
//                }
//                return QrConstant.ClientType.VISITOR;
//
//            }
//
//
//        }catch (Exception ex){
//            ex.printStackTrace();
//        }
//        return "";
//
//    }
//
//    @Transactional
//    @Override
//    public void doParentLogout(String openId) {
//        if(openId!=null&&!"".equals(openId)){
//            Parent parent=parentMapper.findParentByOpenId(openId);
//            if(parent!=null){
//                //1. 删除中间绑定表
//                bindMapper.delBindByParam(parent.getId(),1);
//                //2. 删除家长表
//                parentMapper.delParent(parent.getId());
//
//            }
//        }
//
//    }
//}
